通常のswitch関数

標準のbaseパッケージのswitch関数は入力値は1つのみで,ifelse関数のようにベクトルには対応していない.

x <- "a"
switch(x,
       "a" = 1, 
       "b" = 2, 
       "c" = 3, 
       "4" = 4)
## [1] 1

ベクトル対応版

hutilsパッケージにあるSwitch関数はifelse関数と同様に入力値がベクトルに対応している. DEFAULTはどれにもマッチしなかった場合のデフォルト値.

library(hutils)
x <- c("a", "b", "c", "a")
Switch(x,
       "a" = 1, 
       "b" = 2, 
       "c" = 3, 
       "4" = 4, 
       DEFAULT = 0)
## [1] 1 2 3 1